package com.sunyur.tailor.channel.web.outer.user.dto;

import lombok.Data;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.lang.reflect.Array;

/**
 * @ClassName UserInfoParam
 * @Description 商城人员信息同步请求实体
 * @Author yu.chen
 * @Date 2021/4/29 3:54
 * @Version v1.0
 */
@Data
public class UserSyncInfoDTO implements Serializable {

    private static final long serialVersionUID = 822225595259267707L;

    /**
     * 姓名
     */
    @NotEmpty(message = "姓名不能为空")
    @Size(max = 50, message = "姓名长度不能超过50")
    private String name;
    /**
     * 联系电话
     */
    @Size(max = 50, message = "联系电话长度不能超过50")
    private String mobile;

    /**
     * 工号，前置机将登录名作为工号存起来
     */
    @Size(max = 100, message = "工号长度不能超过50")
    private String code;

    /**
     * 登录名，用于登录账号，不可重复，唯一标识
     */
    @NotEmpty(message = "登录名不能为空")
    @Size(max = 50, message = "登录名长度不能超过50")
    private String loginName;

    /**
     * 生日
     */
    @Size(max = 8, message = "生日长度不能超过8")
    private String birthday;

    /**
     * 性别，0：男，1：女
     */
    @Range(max = 1, min = 0, message = "性别不在0~1范围内")
    private Integer sex;

    /**
     * 用户状态 0：未激活 1：正常 2：已停用
     */
    @NotNull(message = "用户状态不能为空")
    @Range(max = 2, min = 0, message = "用户状态不在0~2范围内")
    private Integer userStatus;

    /**
     * 邮箱
     */
    @Size(max = 50, message = "邮箱长度不能超过50")
    private String email;

    /**
     * 职务
     */
    @Size(max = 45, message = "职务长度不能超过50")
    private String position;

    /**
     * 所属组织编码
     */
    @NotEmpty(message = "所属组织编码不能为空")
    @Size(max = 20, message = "所属组织编码长度不能超过20")
    private String orgCode;

    /**
     * 是否删除，0：生效正常，1：删除，默认：0
     */
    @NotNull(message = "是否删除不能为空")
    @Range(max = 1, min = 0, message = "是否删除不在0~1范围内")
    private Integer isDeleted;

}
